home *** CD-ROM | disk | FTP | other *** search
- procedure CTEDIT
- * C T E D I T
- * Routine to process Customer Classifications
- * Last change: MIB 26 Oct 93 5:51 pm
-
- parameters TOP, LEFT, NROWS, MODE
- * do CTEDIT with TOP, LEFT, NROWS, MODE
- private CTFUNC, OLDSCR, WIDTH
- public CTFLDS[2], CTHDRS[2]
-
- save screen to OLDSCR
- select 0
- use CUSTTYPE alias CUSTTYPE
- WIDTH = 40
- CTFUNC = iif(MODE=0,"CTSLCT","CTUPDATE")
-
- CTHDRS[1] = "Code"
- CTFLDS[1] = "CUSTTYPE"
- CTHDRS[2] = "Description"
- CTFLDS[2] = "CUSTDESC"
- set deleted on
- @ TOP, LEFT,TOP+NROWS-1,LEFT+WIDTH box replicate(chr(177),9)
- @ TOP+1,LEFT+2 clear to TOP+NROWS-2,LEFT+WIDTH-2
- select CUSTTYPE
- go top
- set color to (COLBRIGHT)
- do while .not. GETOUT
- DBEDIT(TOP+1,LEFT+2,TOP+NROWS-2,LEFT+WIDTH-2,CTFLDS,CTFUNC,.t.,CTHDRS,chr(196),chr(179))
- enddo
-
- GETOUT = .f.
- restore screen from OLDSCR
- select CUSTTYPE
- pack
- index on CUSTTYPE to CUSTTYPE
- use
- return
-
- ***********************************************************************
-
- function CTSLCT
- parameters MODE, FLD_PTR
- private CURREC, CURFLD, MEDSTR
- currec = recno()
- rowno=row()
- colno = col()
-
- QBKEY = lastkey()
- clear typeahead
- do case
- case MODE<4
- return 1
- case QBKEY=27 .or. QBKEY=3
- store "" to MCUSTTYP, MCDESC
- GETOUT = .t.
- return 0
- case QBKEY=13
- save screen
- CURFLD = CTFLDS[FLD_PTR]
- MEDSTR = CUSTTYPE->&CURFLD
- set color to (COLFLASH)
- @ ROWNO, COLNO say MEDSTR
- if QBYESNO("Select this Type? (Y/N)")="Y"
- MCUSTTYP = CUSTTYPE->CUSTTYPE
- MCDESC = CUSTTYPE->CUSTDESC
- GETOUT = .t.
- return 0
- endif
- set color to (COLBRIGHT)
- restore screen
- otherwise
- clear typeahead
- do CTPRMT2
- return 1
- endcase
-
- return 0
- ***********************************************************************
-
- function CTUPDATE
- parameters MODE, FLD_PTR
- private SCRBOT, CURREC, GO_REC, CURFLD, MEDSTR
- currec = recno()
- rowno=row()
- colno = col()
-
- do CTPRMT1
- QBKEY = lastkey()
- if QBKEY=27
- GETOUT = .t.
- endif
-
- do case
- case (MODE=2 .or. MODE=3) && Past top or bottom
- if QBYESNO("Add new Customer Type?")="Y"
- QBRESP = "E"
- go bottom
- append blank
- ROWNO = ROWNO + 1
- else
- do CTPRMT1
- return 1
- endif
- case MODE<4
- return 1
- case QBKEY=13
- save screen
- CURFLD = CTFLDS[FLD_PTR]
- MEDSTR = CUSTTYPE->&CURFLD
- set color to (COLFLASH)
- @ ROWNO, COLNO say MEDSTR
- QBRESP = iif(QBYESNO("Edit this line?")="Y","E","I")
- set color to (COLBRIGHT)
- restore screen
- case QBKEY=-9 && F10
- ACTION = QBPROMPT("Ignore|Edit|Delete|Restore deletions|Quit|","",2)
- case QBKEY=27
- QBRESP = "Q"
- otherwise
- QBRESP = "E"
- keyboard chr(QBKEY)
- endcase
-
- CURFLD = CTFLDS[FLD_PTR]
- MEDSTR = CUSTTYPE->&CURFLD
-
- DO CASE
- CASE QBRESP="E" && Normal Selection by CR
- PICSTR = iif(len(MEDSTR)<10,replicate("!",len(MEDSTR)),replicate("X",len(MEDSTR)))
-
- @ ROWNO, COLNO get MEDSTR picture PICSTR
- do QBREAD with "Enter Information"
- if CHANGED .and. .not. GETOUT
- replace &CURFLD with MEDSTR
- endif
- case QBRESP="Q"
- GETOUT = (QBYESNO("Finished editing Customer types?")="Y")
- case QBRESP="D"
- save screen
- set color to (COLFLASH)
- @ ROWNO, COLNO say MEDSTR
- if QBYESNO("Delete this Customer type?")="Y"
- delete
- endif
- set color to (COLBRIGHT)
- restore screen
- do CTPRMT1
- skip -1
- skip
- return 2
- case QBRESP="R"
- set deleted off
- recall all for deleted()
- set deleted on
- do CTPRMT1
- return 2
- otherwise
- GETOUT = .f.
- ENDCASE
-
- keyboard iif(FLD_PTR=1,chr(4),chr(19))
- set color to (COLBRIGHT)
-
- return iif(GETOUT,0,1)
-
- ***********************************************************************
-
- procedure CTPRMT1
- * CTPRMT1
- private M
- do QBCLMESS
- set color to (COLBRIGHT)
- M = "Move with "+chr(24)+chr(25)+". Scroll PgUp/PgDn. Exit: ESC."
- @ QBMSGLIN,centre(M,80) SAY M
- M = [Hit "F10" for Command: Edit, Delete, Restore, Quit]
- @ QBMSGLIN+1,centre(M,80) say M
-
- return
-
- ***********************************************************************
-
- procedure CTPRMT2
- * CTPRMT2
- private M
- do QBCLMESS
- set color to (COLBRIGHT)
- M = "Move with "+chr(24)+chr(25)+". Scroll PgUp/PgDn. "+ chr(17)+chr(217)+[ to Select, ESC to Abort]
- @ QBMSGLIN,CENTRE(M,80) SAY M
-
- return
-
- ***********************************************************************
-
- function VCUSTTYP
- * Return .t if Customer type is present or blank
- parameters R, C, BLANKOK
- private RETVAL, MEM, VARNAME
-
- set softseek off
- VARNAME = readvar()
- MEM = &VARNAME
- if empty(MEM) .and. BLANKOK
- MCUSTTYP = blank(MCUSTTYP)
- MCDESC = blank(MCDESC)
- return .t.
- endif
-
- select 0
- use CUSTTYPE index CUSTTYPE alias CUSTTYPE
-
- seek MEM
- if eof()
- clear typeahead
- do CTEDIT with 3,37,9,0
- MEM = iif(GETOUT,blank(MEM),MCUSTTYP)
- else
- store CUSTTYPE->CUSTTYPE to MEM, MCUSTTYP
- MCDESC = CUSTTYPE->CUSTDESC
- endif
- set color to (COLBRIGHT)
- @ R,C say MEM
- set color to (COLNORM)
- use
-
- return .t.
-
- ******************************************************************
-
-